/**
 * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package slcu.model.impl;

import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
import com.liferay.portal.kernel.util.GetterUtil;
import com.liferay.portal.kernel.util.ProxyUtil;
import com.liferay.portal.kernel.util.StringBundler;
import com.liferay.portal.kernel.util.StringPool;
import com.liferay.portal.model.CacheModel;
import com.liferay.portal.model.impl.BaseModelImpl;
import com.liferay.portal.service.ServiceContext;

import com.liferay.portlet.expando.model.ExpandoBridge;
import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;

import slcu.model.Escuela;
import slcu.model.EscuelaModel;

import java.io.Serializable;

import java.sql.Types;

import java.util.HashMap;
import java.util.Map;

/**
 * The base model implementation for the Escuela service. Represents a row in the &quot;SLCU_Escuelas&quot; database table, with each column mapped to a property of this class.
 *
 * <p>
 * This implementation and its corresponding interface {@link slcu.model.EscuelaModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link EscuelaImpl}.
 * </p>
 *
 * @author tito
 * @see EscuelaImpl
 * @see slcu.model.Escuela
 * @see slcu.model.EscuelaModel
 * @generated
 */
public class EscuelaModelImpl extends BaseModelImpl<Escuela>
	implements EscuelaModel {
	/*
	 * NOTE FOR DEVELOPERS:
	 *
	 * Never modify or reference this class directly. All methods that expect a Escuela model instance should use the {@link slcu.model.Escuela} interface instead.
	 */
	public static final String TABLE_NAME = "SLCU_Escuelas";
	public static final Object[][] TABLE_COLUMNS = {
			{ "escuelaId", Types.BIGINT },
			{ "sec", Types.VARCHAR },
			{ "cue", Types.VARCHAR },
			{ "anexo", Types.VARCHAR },
			{ "cue_anexo", Types.VARCHAR },
			{ "region", Types.VARCHAR },
			{ "categoria", Types.VARCHAR },
			{ "denominacion", Types.VARCHAR },
			{ "numero", Types.VARCHAR },
			{ "nombre", Types.VARCHAR },
			{ "direccion", Types.VARCHAR },
			{ "cp", Types.VARCHAR },
			{ "telefono", Types.VARCHAR },
			{ "localidad", Types.VARCHAR },
			{ "departamento", Types.VARCHAR },
			{ "emails", Types.VARCHAR },
			{ "niveles", Types.VARCHAR },
			{ "estado", Types.VARCHAR }
		};
	public static final String TABLE_SQL_CREATE = "create table SLCU_Escuelas (escuelaId LONG not null primary key,sec VARCHAR(75) null,cue VARCHAR(75) null,anexo VARCHAR(75) null,cue_anexo VARCHAR(75) null,region VARCHAR(75) null,categoria VARCHAR(75) null,denominacion VARCHAR(75) null,numero VARCHAR(75) null,nombre VARCHAR(75) null,direccion VARCHAR(75) null,cp VARCHAR(75) null,telefono VARCHAR(75) null,localidad VARCHAR(75) null,departamento VARCHAR(75) null,emails VARCHAR(75) null,niveles VARCHAR(75) null,estado VARCHAR(75) null)";
	public static final String TABLE_SQL_DROP = "drop table SLCU_Escuelas";
	public static final String DATA_SOURCE = "liferayDataSource";
	public static final String SESSION_FACTORY = "liferaySessionFactory";
	public static final String TX_MANAGER = "liferayTransactionManager";
	public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.util.service.ServiceProps.get(
				"value.object.entity.cache.enabled.slcu.model.Escuela"), true);
	public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.util.service.ServiceProps.get(
				"value.object.finder.cache.enabled.slcu.model.Escuela"), true);
	public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.util.service.ServiceProps.get(
				"value.object.column.bitmask.enabled.slcu.model.Escuela"), true);
	public static long REGION_COLUMN_BITMASK = 1L;
	public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.util.service.ServiceProps.get(
				"lock.expiration.time.slcu.model.Escuela"));

	public EscuelaModelImpl() {
	}

	public long getPrimaryKey() {
		return _escuelaId;
	}

	public void setPrimaryKey(long primaryKey) {
		setEscuelaId(primaryKey);
	}

	public Serializable getPrimaryKeyObj() {
		return new Long(_escuelaId);
	}

	public void setPrimaryKeyObj(Serializable primaryKeyObj) {
		setPrimaryKey(((Long)primaryKeyObj).longValue());
	}

	public Class<?> getModelClass() {
		return Escuela.class;
	}

	public String getModelClassName() {
		return Escuela.class.getName();
	}

	@Override
	public Map<String, Object> getModelAttributes() {
		Map<String, Object> attributes = new HashMap<String, Object>();

		attributes.put("escuelaId", getEscuelaId());
		attributes.put("sec", getSec());
		attributes.put("cue", getCue());
		attributes.put("anexo", getAnexo());
		attributes.put("cue_anexo", getCue_anexo());
		attributes.put("region", getRegion());
		attributes.put("categoria", getCategoria());
		attributes.put("denominacion", getDenominacion());
		attributes.put("numero", getNumero());
		attributes.put("nombre", getNombre());
		attributes.put("direccion", getDireccion());
		attributes.put("cp", getCp());
		attributes.put("telefono", getTelefono());
		attributes.put("localidad", getLocalidad());
		attributes.put("departamento", getDepartamento());
		attributes.put("emails", getEmails());
		attributes.put("niveles", getNiveles());
		attributes.put("estado", getEstado());

		return attributes;
	}

	@Override
	public void setModelAttributes(Map<String, Object> attributes) {
		Long escuelaId = (Long)attributes.get("escuelaId");

		if (escuelaId != null) {
			setEscuelaId(escuelaId);
		}

		String sec = (String)attributes.get("sec");

		if (sec != null) {
			setSec(sec);
		}

		String cue = (String)attributes.get("cue");

		if (cue != null) {
			setCue(cue);
		}

		String anexo = (String)attributes.get("anexo");

		if (anexo != null) {
			setAnexo(anexo);
		}

		String cue_anexo = (String)attributes.get("cue_anexo");

		if (cue_anexo != null) {
			setCue_anexo(cue_anexo);
		}

		String region = (String)attributes.get("region");

		if (region != null) {
			setRegion(region);
		}

		String categoria = (String)attributes.get("categoria");

		if (categoria != null) {
			setCategoria(categoria);
		}

		String denominacion = (String)attributes.get("denominacion");

		if (denominacion != null) {
			setDenominacion(denominacion);
		}

		String numero = (String)attributes.get("numero");

		if (numero != null) {
			setNumero(numero);
		}

		String nombre = (String)attributes.get("nombre");

		if (nombre != null) {
			setNombre(nombre);
		}

		String direccion = (String)attributes.get("direccion");

		if (direccion != null) {
			setDireccion(direccion);
		}

		String cp = (String)attributes.get("cp");

		if (cp != null) {
			setCp(cp);
		}

		String telefono = (String)attributes.get("telefono");

		if (telefono != null) {
			setTelefono(telefono);
		}

		String localidad = (String)attributes.get("localidad");

		if (localidad != null) {
			setLocalidad(localidad);
		}

		String departamento = (String)attributes.get("departamento");

		if (departamento != null) {
			setDepartamento(departamento);
		}

		String emails = (String)attributes.get("emails");

		if (emails != null) {
			setEmails(emails);
		}

		String niveles = (String)attributes.get("niveles");

		if (niveles != null) {
			setNiveles(niveles);
		}

		String estado = (String)attributes.get("estado");

		if (estado != null) {
			setEstado(estado);
		}
	}

	public long getEscuelaId() {
		return _escuelaId;
	}

	public void setEscuelaId(long escuelaId) {
		_escuelaId = escuelaId;
	}

	public String getSec() {
		if (_sec == null) {
			return StringPool.BLANK;
		}
		else {
			return _sec;
		}
	}

	public void setSec(String sec) {
		_sec = sec;
	}

	public String getCue() {
		if (_cue == null) {
			return StringPool.BLANK;
		}
		else {
			return _cue;
		}
	}

	public void setCue(String cue) {
		_cue = cue;
	}

	public String getAnexo() {
		if (_anexo == null) {
			return StringPool.BLANK;
		}
		else {
			return _anexo;
		}
	}

	public void setAnexo(String anexo) {
		_anexo = anexo;
	}

	public String getCue_anexo() {
		if (_cue_anexo == null) {
			return StringPool.BLANK;
		}
		else {
			return _cue_anexo;
		}
	}

	public void setCue_anexo(String cue_anexo) {
		_cue_anexo = cue_anexo;
	}

	public String getRegion() {
		if (_region == null) {
			return StringPool.BLANK;
		}
		else {
			return _region;
		}
	}

	public void setRegion(String region) {
		_columnBitmask |= REGION_COLUMN_BITMASK;

		if (_originalRegion == null) {
			_originalRegion = _region;
		}

		_region = region;
	}

	public String getOriginalRegion() {
		return GetterUtil.getString(_originalRegion);
	}

	public String getCategoria() {
		if (_categoria == null) {
			return StringPool.BLANK;
		}
		else {
			return _categoria;
		}
	}

	public void setCategoria(String categoria) {
		_categoria = categoria;
	}

	public String getDenominacion() {
		if (_denominacion == null) {
			return StringPool.BLANK;
		}
		else {
			return _denominacion;
		}
	}

	public void setDenominacion(String denominacion) {
		_denominacion = denominacion;
	}

	public String getNumero() {
		if (_numero == null) {
			return StringPool.BLANK;
		}
		else {
			return _numero;
		}
	}

	public void setNumero(String numero) {
		_numero = numero;
	}

	public String getNombre() {
		if (_nombre == null) {
			return StringPool.BLANK;
		}
		else {
			return _nombre;
		}
	}

	public void setNombre(String nombre) {
		_nombre = nombre;
	}

	public String getDireccion() {
		if (_direccion == null) {
			return StringPool.BLANK;
		}
		else {
			return _direccion;
		}
	}

	public void setDireccion(String direccion) {
		_direccion = direccion;
	}

	public String getCp() {
		if (_cp == null) {
			return StringPool.BLANK;
		}
		else {
			return _cp;
		}
	}

	public void setCp(String cp) {
		_cp = cp;
	}

	public String getTelefono() {
		if (_telefono == null) {
			return StringPool.BLANK;
		}
		else {
			return _telefono;
		}
	}

	public void setTelefono(String telefono) {
		_telefono = telefono;
	}

	public String getLocalidad() {
		if (_localidad == null) {
			return StringPool.BLANK;
		}
		else {
			return _localidad;
		}
	}

	public void setLocalidad(String localidad) {
		_localidad = localidad;
	}

	public String getDepartamento() {
		if (_departamento == null) {
			return StringPool.BLANK;
		}
		else {
			return _departamento;
		}
	}

	public void setDepartamento(String departamento) {
		_departamento = departamento;
	}

	public String getEmails() {
		if (_emails == null) {
			return StringPool.BLANK;
		}
		else {
			return _emails;
		}
	}

	public void setEmails(String emails) {
		_emails = emails;
	}

	public String getNiveles() {
		if (_niveles == null) {
			return StringPool.BLANK;
		}
		else {
			return _niveles;
		}
	}

	public void setNiveles(String niveles) {
		_niveles = niveles;
	}

	public String getEstado() {
		if (_estado == null) {
			return StringPool.BLANK;
		}
		else {
			return _estado;
		}
	}

	public void setEstado(String estado) {
		_estado = estado;
	}

	public long getColumnBitmask() {
		return _columnBitmask;
	}

	@Override
	public ExpandoBridge getExpandoBridge() {
		return ExpandoBridgeFactoryUtil.getExpandoBridge(0,
			Escuela.class.getName(), getPrimaryKey());
	}

	@Override
	public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
		ExpandoBridge expandoBridge = getExpandoBridge();

		expandoBridge.setAttributes(serviceContext);
	}

	@Override
	public Escuela toEscapedModel() {
		if (_escapedModelProxy == null) {
			_escapedModelProxy = (Escuela)ProxyUtil.newProxyInstance(_classLoader,
					_escapedModelProxyInterfaces,
					new AutoEscapeBeanHandler(this));
		}

		return _escapedModelProxy;
	}

	@Override
	public Object clone() {
		EscuelaImpl escuelaImpl = new EscuelaImpl();

		escuelaImpl.setEscuelaId(getEscuelaId());
		escuelaImpl.setSec(getSec());
		escuelaImpl.setCue(getCue());
		escuelaImpl.setAnexo(getAnexo());
		escuelaImpl.setCue_anexo(getCue_anexo());
		escuelaImpl.setRegion(getRegion());
		escuelaImpl.setCategoria(getCategoria());
		escuelaImpl.setDenominacion(getDenominacion());
		escuelaImpl.setNumero(getNumero());
		escuelaImpl.setNombre(getNombre());
		escuelaImpl.setDireccion(getDireccion());
		escuelaImpl.setCp(getCp());
		escuelaImpl.setTelefono(getTelefono());
		escuelaImpl.setLocalidad(getLocalidad());
		escuelaImpl.setDepartamento(getDepartamento());
		escuelaImpl.setEmails(getEmails());
		escuelaImpl.setNiveles(getNiveles());
		escuelaImpl.setEstado(getEstado());

		escuelaImpl.resetOriginalValues();

		return escuelaImpl;
	}

	public int compareTo(Escuela escuela) {
		long primaryKey = escuela.getPrimaryKey();

		if (getPrimaryKey() < primaryKey) {
			return -1;
		}
		else if (getPrimaryKey() > primaryKey) {
			return 1;
		}
		else {
			return 0;
		}
	}

	@Override
	public boolean equals(Object obj) {
		if (obj == null) {
			return false;
		}

		Escuela escuela = null;

		try {
			escuela = (Escuela)obj;
		}
		catch (ClassCastException cce) {
			return false;
		}

		long primaryKey = escuela.getPrimaryKey();

		if (getPrimaryKey() == primaryKey) {
			return true;
		}
		else {
			return false;
		}
	}

	@Override
	public int hashCode() {
		return (int)getPrimaryKey();
	}

	@Override
	public void resetOriginalValues() {
		EscuelaModelImpl escuelaModelImpl = this;

		escuelaModelImpl._originalRegion = escuelaModelImpl._region;

		escuelaModelImpl._columnBitmask = 0;
	}

	@Override
	public CacheModel<Escuela> toCacheModel() {
		EscuelaCacheModel escuelaCacheModel = new EscuelaCacheModel();

		escuelaCacheModel.escuelaId = getEscuelaId();

		escuelaCacheModel.sec = getSec();

		String sec = escuelaCacheModel.sec;

		if ((sec != null) && (sec.length() == 0)) {
			escuelaCacheModel.sec = null;
		}

		escuelaCacheModel.cue = getCue();

		String cue = escuelaCacheModel.cue;

		if ((cue != null) && (cue.length() == 0)) {
			escuelaCacheModel.cue = null;
		}

		escuelaCacheModel.anexo = getAnexo();

		String anexo = escuelaCacheModel.anexo;

		if ((anexo != null) && (anexo.length() == 0)) {
			escuelaCacheModel.anexo = null;
		}

		escuelaCacheModel.cue_anexo = getCue_anexo();

		String cue_anexo = escuelaCacheModel.cue_anexo;

		if ((cue_anexo != null) && (cue_anexo.length() == 0)) {
			escuelaCacheModel.cue_anexo = null;
		}

		escuelaCacheModel.region = getRegion();

		String region = escuelaCacheModel.region;

		if ((region != null) && (region.length() == 0)) {
			escuelaCacheModel.region = null;
		}

		escuelaCacheModel.categoria = getCategoria();

		String categoria = escuelaCacheModel.categoria;

		if ((categoria != null) && (categoria.length() == 0)) {
			escuelaCacheModel.categoria = null;
		}

		escuelaCacheModel.denominacion = getDenominacion();

		String denominacion = escuelaCacheModel.denominacion;

		if ((denominacion != null) && (denominacion.length() == 0)) {
			escuelaCacheModel.denominacion = null;
		}

		escuelaCacheModel.numero = getNumero();

		String numero = escuelaCacheModel.numero;

		if ((numero != null) && (numero.length() == 0)) {
			escuelaCacheModel.numero = null;
		}

		escuelaCacheModel.nombre = getNombre();

		String nombre = escuelaCacheModel.nombre;

		if ((nombre != null) && (nombre.length() == 0)) {
			escuelaCacheModel.nombre = null;
		}

		escuelaCacheModel.direccion = getDireccion();

		String direccion = escuelaCacheModel.direccion;

		if ((direccion != null) && (direccion.length() == 0)) {
			escuelaCacheModel.direccion = null;
		}

		escuelaCacheModel.cp = getCp();

		String cp = escuelaCacheModel.cp;

		if ((cp != null) && (cp.length() == 0)) {
			escuelaCacheModel.cp = null;
		}

		escuelaCacheModel.telefono = getTelefono();

		String telefono = escuelaCacheModel.telefono;

		if ((telefono != null) && (telefono.length() == 0)) {
			escuelaCacheModel.telefono = null;
		}

		escuelaCacheModel.localidad = getLocalidad();

		String localidad = escuelaCacheModel.localidad;

		if ((localidad != null) && (localidad.length() == 0)) {
			escuelaCacheModel.localidad = null;
		}

		escuelaCacheModel.departamento = getDepartamento();

		String departamento = escuelaCacheModel.departamento;

		if ((departamento != null) && (departamento.length() == 0)) {
			escuelaCacheModel.departamento = null;
		}

		escuelaCacheModel.emails = getEmails();

		String emails = escuelaCacheModel.emails;

		if ((emails != null) && (emails.length() == 0)) {
			escuelaCacheModel.emails = null;
		}

		escuelaCacheModel.niveles = getNiveles();

		String niveles = escuelaCacheModel.niveles;

		if ((niveles != null) && (niveles.length() == 0)) {
			escuelaCacheModel.niveles = null;
		}

		escuelaCacheModel.estado = getEstado();

		String estado = escuelaCacheModel.estado;

		if ((estado != null) && (estado.length() == 0)) {
			escuelaCacheModel.estado = null;
		}

		return escuelaCacheModel;
	}

	@Override
	public String toString() {
		StringBundler sb = new StringBundler(37);

		sb.append("{escuelaId=");
		sb.append(getEscuelaId());
		sb.append(", sec=");
		sb.append(getSec());
		sb.append(", cue=");
		sb.append(getCue());
		sb.append(", anexo=");
		sb.append(getAnexo());
		sb.append(", cue_anexo=");
		sb.append(getCue_anexo());
		sb.append(", region=");
		sb.append(getRegion());
		sb.append(", categoria=");
		sb.append(getCategoria());
		sb.append(", denominacion=");
		sb.append(getDenominacion());
		sb.append(", numero=");
		sb.append(getNumero());
		sb.append(", nombre=");
		sb.append(getNombre());
		sb.append(", direccion=");
		sb.append(getDireccion());
		sb.append(", cp=");
		sb.append(getCp());
		sb.append(", telefono=");
		sb.append(getTelefono());
		sb.append(", localidad=");
		sb.append(getLocalidad());
		sb.append(", departamento=");
		sb.append(getDepartamento());
		sb.append(", emails=");
		sb.append(getEmails());
		sb.append(", niveles=");
		sb.append(getNiveles());
		sb.append(", estado=");
		sb.append(getEstado());
		sb.append("}");

		return sb.toString();
	}

	public String toXmlString() {
		StringBundler sb = new StringBundler(58);

		sb.append("<model><model-name>");
		sb.append("slcu.model.Escuela");
		sb.append("</model-name>");

		sb.append(
			"<column><column-name>escuelaId</column-name><column-value><![CDATA[");
		sb.append(getEscuelaId());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>sec</column-name><column-value><![CDATA[");
		sb.append(getSec());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>cue</column-name><column-value><![CDATA[");
		sb.append(getCue());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>anexo</column-name><column-value><![CDATA[");
		sb.append(getAnexo());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>cue_anexo</column-name><column-value><![CDATA[");
		sb.append(getCue_anexo());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>region</column-name><column-value><![CDATA[");
		sb.append(getRegion());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>categoria</column-name><column-value><![CDATA[");
		sb.append(getCategoria());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>denominacion</column-name><column-value><![CDATA[");
		sb.append(getDenominacion());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>numero</column-name><column-value><![CDATA[");
		sb.append(getNumero());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>nombre</column-name><column-value><![CDATA[");
		sb.append(getNombre());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>direccion</column-name><column-value><![CDATA[");
		sb.append(getDireccion());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>cp</column-name><column-value><![CDATA[");
		sb.append(getCp());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>telefono</column-name><column-value><![CDATA[");
		sb.append(getTelefono());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>localidad</column-name><column-value><![CDATA[");
		sb.append(getLocalidad());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>departamento</column-name><column-value><![CDATA[");
		sb.append(getDepartamento());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>emails</column-name><column-value><![CDATA[");
		sb.append(getEmails());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>niveles</column-name><column-value><![CDATA[");
		sb.append(getNiveles());
		sb.append("]]></column-value></column>");
		sb.append(
			"<column><column-name>estado</column-name><column-value><![CDATA[");
		sb.append(getEstado());
		sb.append("]]></column-value></column>");

		sb.append("</model>");

		return sb.toString();
	}

	private static ClassLoader _classLoader = Escuela.class.getClassLoader();
	private static Class<?>[] _escapedModelProxyInterfaces = new Class[] {
			Escuela.class
		};
	private long _escuelaId;
	private String _sec;
	private String _cue;
	private String _anexo;
	private String _cue_anexo;
	private String _region;
	private String _originalRegion;
	private String _categoria;
	private String _denominacion;
	private String _numero;
	private String _nombre;
	private String _direccion;
	private String _cp;
	private String _telefono;
	private String _localidad;
	private String _departamento;
	private String _emails;
	private String _niveles;
	private String _estado;
	private long _columnBitmask;
	private Escuela _escapedModelProxy;
}